home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Shareware Grab Bag
/
Shareware Grab Bag.iso
/
007
/
boostrs.arc
/
GETSTR.PAS
< prev
next >
Wrap
Pascal/Delphi Source File
|
1980-01-01
|
3KB
|
84 lines
{ ------------------------------------------------
GETSTR reads string at X,Y into S for length LEN
------------------------------------------------ }
Procedure GETSTR ( HV : Char;
VAR S : AnyString;
X : ColumnType;
Y : RowType;
LEN : Integer);
{ If X=Y=0, then read begins at current cursor
position. Otherwise read begins at (X,Y).
On exit, cursor points to one beyond last
byte read. }
begin
InLine ( $1E/
$8B/$46/$08/
$09/$C0/
$74/$0E/
$FE/$C8/
$8B/$56/$06/
$FE/$CA/
$8A/$F0/
$86/$D6/
$EB/$07/$90/
$30/$FF/
$B4/$03/
$CD/$10/
$8E/$46/$0C/
$8B/$7E/$0A/
$8B/$4E/$04/
$26/$88/$0D/
$47/
$51/
$8A/$DE/
$30/$FF/
$8B/$C3/
$B1/$07/
$D3/$E0/
$B1/$05/
$D3/$E3/
$01/$C3/
$8A/$C2/
$30/$E4/
$D1/$E0/
$01/$C3/
$59/
$8B/$F3/
$BB/$49/$04/ { mov bx,449h video byte offset }
$31/$C0/ { xor ax,ax ax = 0 }
$8E/$D8/ { mov ds,ax video byte seg }
$8A/$07/ { mov al,[bx] get byte }
$3C/$07/ { cmp al,7 mono? }
$75/$06/ { jne graphx no }
$BA/$00/$B0/ { mov dx,0B000h regen for mono }
$EB/$04/$90/ { jmp contin }
{ graphx: }
$BA/$00/$B8/ { mov dx,0B800h regen for graphics }
$8E/$DA/ { contin: mov ds,dx }
$8B/$56/$0E/
$80/$FA/$76/
$74/$0B/
$80/$FA/$56/
$74/$06/
$BA/$02/$00/
$EB/$04/$90/
$BA/$A0/$00/
$3E/$8A/$04/
$AA/
$01/$D6/
$E2/$F8/
$80/$FA/$02/
$74/$04/
$81/$EE/$9E/$00/
$8B/$C6/
$31/$D2/
$BB/$A0/$00/
$F7/$F3/
$D0/$EA/
$8A/$F0/
$B4/$02/
$CD/$10/
$1F/
$5D);
end;